home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Softshoe / Lisa's Mac Parts / Views / Pane Frames / Frame.h < prev    next >
Text File  |  2000-06-23  |  1KB  |  60 lines

  1. // Frame.h
  2.  
  3. #ifndef Frame_h
  4. #define Frame_h
  5.  
  6. #ifndef StackedPane_h
  7. #include "StackedPane.h"
  8. #endif
  9. #ifndef PaneStack_h
  10. #include "PaneStack.h"
  11. #endif
  12. #ifndef SuggestsPaneSize_h
  13. #include "SuggestsPaneSize.h"
  14. #endif
  15.  
  16. class Frame: public PaneStack,
  17.                  virtual public SuggestsPaneSize
  18.   {
  19.     private:
  20.         StackedPane interior;
  21.         StackedPane exterior;
  22.         
  23.         const Rectangle32 thickness;
  24.  
  25.         int32 OuterWidth( int32 inner ) const;
  26.         int32 OuterHeight( int32 inner ) const;
  27.         
  28.     protected:
  29.         virtual void Arrange( UPoint32 size );
  30.             
  31.     public:
  32.         Frame( const Announcing<UPoint32>& size,
  33.                  Rectangle32 theThickness )
  34.           : PaneStack( size ),
  35.              interior( *this ),
  36.              exterior( *this ),
  37.              thickness( theThickness )
  38.           {}
  39.         
  40.         const RectangularPane& Interior() const            { return interior; }
  41.         RectangularPane& Interior()                            { return interior; }
  42.         
  43.         const RectangularPane& Exterior() const            { return exterior; }
  44.         RectangularPane& Exterior()                            { return exterior; }
  45.  
  46.         virtual int32 MinimumWidth() const;
  47.         virtual int32 MinimumHeight() const;
  48.         
  49.         virtual int32 MaximumWidth() const;
  50.         virtual int32 MaximumHeight() const;
  51.         
  52.         virtual int32 ReasonableWidth() const;
  53.         virtual int32 ReasonableHeight() const;
  54.         
  55.         virtual int32 BestWidth( Range32 bounds ) const;
  56.         virtual int32 BestHeight( Range32 bounds ) const;
  57.   };
  58.  
  59. #endif
  60.